|
139 |
|
# Локальное поднятие Airflow (conda и pip)
Содержание
- Установка через
conda
- Решение возможных проблем
- Проверка работы
- Подробнее о настройках
- Установка операторов
Установка через conda
1 2 3 4 5 |
|
После запуска ищем в логах строки:
1 2 3 |
|
Решение возможных проблем
Если выдаёт ошибки типа:
missing X required positional arguments: 'sequence', 'schema', 'bind_key', and 'sid_length'
Например:
1 2 |
|
Тогда смотрим, какой airflow
установлен и какой python
используется:
1 2 |
|
И повторно ставим, используя точные версии в следующей команде:
1 |
|
Например:
pip3 install apache-airflow==2.8.1 --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.8.1/constraints-3.11.txt"
После чего повторно запускаем:
airflow standalone
Проверка работы
Подробнее о настройках
Приложение Airflow
скорее всего установится в домашнюю папку:
/home/$USER/airflow/
Либо по тому пути, из-под которого вызывалась установка. В любому случае можно поискать:
find /home/$USER/ -name airflow
/home/dao2/anaconda3/envs/airflow
/home/dao2/anaconda3/envs/airflow/lib/python3.10/site-packages/airflow
/home/dao2/anaconda3/envs/airflow/lib/python3.10/site-packages/airflow/www/templates/airflow
/home/dao2/anaconda3/envs/airflow/bin/airflow
==> /home/dao2/airflow <==
/home/dao2/.local/share/Trash/files/airflow
/home/dao2/.local/lib/python3/site-packages/airflow
/home/dao2/.local/lib/python3/site-packages/airflow/www/templates/airflow
/home/dao2/.local/bin/airflow
Данная директория хранит приложение, состоящее из:
ls -l /home/dao2/airflow/
airflow.cfg
airflow.db
airflow-webserver.pid
dags
logs
standalone_admin_password.txt
task_logs
webserver_config.py
airflow.cfg
- конфиг приложения, можно, например, изменить:
dags_folder = /home/dao2/airflow/dags
: директорию хранения даговdefault_timezone = utc
: часовой пояс, используемый по умолчанию в UIload_examples = True
: отключить отображение дагов с примерами- узнать и поменять используемые порты по умолчанию для разных компонентов (
endpoint_url = http://localhost:8080
)
airflow.db
- используемая приложением база
airflow-webserver.pid
- номер процесса, на котором в последний раз запускался сервер. Если имеются какие-либо проблемы, напр., приложеие стартует, но UI недоступен:
kill id_из_airflow-webserver.pid
И перезапускаем приложение.
standalone_admin_password.txt
- логин/пароль для входа в UI
webserver_config.py
- настройки вебсервера / Flask-приложения
Для повторного запуска пользуемся:
conda activate airflow
conda activate standalone
Дополнительня установка плагинов и модулей
Например:
1 2 3 4 5 6 7 8 9 10 |
|